Systems and Methods for Providing Search Results

ABSTRACT

A method includes generating search results in response to a user query, where at least one of the search results includes a group of links. The group of links may represent links to web pages within a same web site and may be identified based on at least one factor associated with the links. The method may also include providing the search results to the user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/776,191, filed Feb. 25, 2013, which is a continuation of U.S.application Ser. No. 13/205,372, filed Aug. 8, 2011, which is acontinuation of U.S. application Ser. No. 11/155,882, filed Jun. 20,2005, the contents of each of which are incorporated herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

Implementations described herein relate generally to informationretrieval and, more particularly, to providing information associatedwith a search query.

2. Description of Related Art

The World Wide Web (“web”) contains a vast amount of information.Locating a desired portion of the information, however, can bechallenging. This problem is compounded because the amount ofinformation on the web and the number of new users inexperienced at websearching are growing rapidly.

Search engine systems attempt to return hyperlinks to web pages in whicha user is interested. Generally, search engine systems base theirdetermination of the user's interest on search terms (called a searchquery) entered by the user. The goal of a search engine system is toprovide links to high quality, relevant search results (e.g., web pages)to the user based on the search query. Typically, the search enginesystem accomplishes this by matching the terms in the search query to acorpus of pre-stored web pages. Web pages that contain the user's searchterms are “hits” and are returned to the user as links.

When an existing search engine system returns search results, the searchresults often include links to web pages for various web sites. The usermay then select one of the links to a particular web site to attempt tofind the item of interest. The item of interest, however, may not be onthe web page associated with the selected link. In this case, the usermay navigate from this first web page to find the actual web page withthe desired information. This may involve clicking through a number ofweb pages until the user is able to find the item of interest.

SUMMARY OF THE INVENTION

According to one aspect, a method may include receiving a search queryfrom a user and generating search results based on the search query. Themethod may also include identifying a number of web pages associatedwith at least one of the search results based on a quality factorassociated with the web pages, where the web pages and a web pageassociated with the at least one search result are in a same web site.The method may further include providing the search results and aplurality of links associated with the plurality of web pages to theuser.

In another aspect, a computer-readable medium that stores instructionsexecutable by at least one processor may be provided. The instructionsmay cause the processor to perform a method that may include receiving asearch query from a user and generating first search results based onthe search query. The method performed by the processor may also includeidentifying a number of links associated with at least one of the firstsearch results based on at least one factor associated with the links.The method performed by the processor may further include forwardingsecond search results to the user, where the second search resultsinclude the first search results and the links associated with the atleast one of the first search results, where the links correspond to webpages on a same web site

In a further aspect, a system including a memory and a search engine maybe provided. The memory may store a plurality of links. The searchengine may receive a search query from a user and generate searchresults based on the search query. The search engine may also access thememory to identify a first group of links associated with a first one ofthe search results, where the first group of links is associated with asame web site. The search engine may further provide the search resultsand the first group of links to the user.

In still another aspect, a method may include generating a number ofsearch results in response to a user query, where at least one of thesearch results includes a group of links sorted in an order based on atleast one factor associated with the group of links The method may alsoinclude providing the plurality of search results to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate an embodiment of the inventionand, together with the description, explain the invention. In thedrawings,

FIG. 1 is an exemplary diagram of a network in which systems and methodsconsistent with the principles of the invention may be implemented;

FIG. 2 is an exemplary diagram of a server in the network of FIG. 1 inan implementation consistent with the principles of the invention;

FIG. 3 is an exemplary functional block diagram illustrating the logprocessing system of FIG. 1 in an implementation consistent with theprinciples of the invention;

FIG. 4 illustrates an exemplary portion of the web site mapping storageof FIG. 3 in an implementation consistent with the principles of theinvention;

FIG. 5 is an exemplary functional block diagram illustrating the searchengine system of FIG. 1 in an implementation consistent with theprinciples of the invention;

FIG. 6 is a flow diagram illustrating exemplary processing associatedwith generating web site mapping information consistent with theprinciples of the invention;

FIG. 7 is a flow diagram illustrating exemplary processing associatedwith providing search results in an implementation consistent with theprinciples of the invention; and

FIG. 8 illustrates an exemplary interface screen provided to a user inan implementation consistent with the principles of the invention.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements. Also, the following detailed description does notlimit the invention.

Overview

Systems and methods consistent with the principles of the invention mayprovide a number of links associated with one or more particular searchresults. These links may represent web pages within the same website asthe particular search result and may represent web pages that aredetermined to be web pages that a user may most likely access. Theselinks may also include text that helps identify the corresponding webpage. The user may then select one of these links without firstselecting the link associated with the search result.

In the description to follow, the term “site” or “website” is to bebroadly interpreted to include any domain or subdomain (e.g.,google.com, labs.google.com, etc.) or a domain plus a uniform resourcelocator prefix (e.g., geocities.com/Athens/). In addition, thedescription to follow focuses on searches related to web sites. Itshould be understood, however, that implementations consistent with theinvention are also applicable to searching documents or repositories ofdocuments. The term “document” is to be broadly interpreted to includeany machine-readable and machine-storable work product. A document mayinclude, for example, a web page, information relating to a news event,an image file, information relating to a merchant product, informationrelating to a usenet page, a yellow page entry, a scanned book, a file,a combination of files, one or more files with embedded links to otherfiles, a blog, a web advertisement, an e-mail, etc. Documents ofteninclude textual information and may include embedded information (suchas meta information, hyperlinks, etc.) and/or embedded instructions(such as Javascript, etc.). A “link,” as the term is used herein, is tobe broadly interpreted to include any reference to/from a documentfrom/to another document or another part of the same document.

Exemplary Network

FIG. 1 is an exemplary diagram of a network 100 in which systems andmethods consistent with the principles of the invention may beimplemented. Network 100 may include clients 110 and servers 120 and 130connected via network 140. Two clients 110, one server 120 and oneserver 130 have been illustrated as connected to network 140 in FIG. 1for simplicity. In practice, there may be more or fewer clients andservers. Also, in some instances, a client may perform a function of aserver and a server may perform a function of a client. Additionally, inalternative implementations, the functions performed by one server maybe performed by another server or may be combined with the functionsperformed by another server. For example, server 120 may perform thefunctions of both servers 120 and 130, or vice versa.

Clients 110 may include client entities. An entity may be defined as adevice, such as a personal computer, a wireless telephone, a personaldigital assistant (PDA), a lap top computer, or another type ofcomputation or communication device, a thread or process running on oneof these devices, and/or an object executable by one of these devices.

Server 120 may include one or more server entities that gather, process,maintain, and/or manage information. In an exemplary implementationconsistent with principles of the invention, server 120 may include logprocessing system 125 that processes and stores information associatedwith, for example, web page accesses, such as click-related information,associated with clients' 110 access of web pages.

Server 130 may include one or more server entities that gather, process,search, maintain, manage documents and/or provide search results tousers. In an exemplary implementation consistent with principles of theinvention, server 130 may include search engine system 135 usable byclients 110. Search engine system 135 may receive search queries fromclients 110 and return relevant information to clients 110.

Network 140 may include a local area network (LAN), a wide area network(WAN), a telephone network, such as the Public Switched TelephoneNetwork (PSTN), an intranet, the Internet, a different type of network,or a combination of networks. Clients 110 and servers 120 and 130 mayconnect to network 140 via wired, wireless, or optical connections. Inalternative implementations, one or more of the devices illustrated inFIG. 1 may be directly connected to another one of the devices. Forexample, in one implementation consistent with the principles of theinvention, server 120 may be directly connected to server 130, asillustrated by the dotted line in FIG. 1.

Exemplary Server Architecture

FIG. 2 is an exemplary diagram of server 120 in an implementationconsistent with the principles of the invention. Server 130 may beconfigured in a similar manner. Server 120/130 may include a bus 210, aprocessor 220, a main memory 230, a read only memory (ROM) 240, astorage device 250, one or more input devices 260, one or more outputdevices 270, and a communication interface 280. Bus 210 may include apath that permits communication among the components of server 120/130.

Processor 220 may include any type of conventional processor,microprocessor or processing logic that interprets and executesinstructions. Main memory 230 may include a random access memory (RAM)or another type of dynamic storage device that stores information andinstructions for execution by processor 220. ROM 240 may include aconventional ROM device or another type of static storage device thatstores static information and instructions for use by processor 220.Storage device 250 may include a magnetic and/or optical recordingmedium and its corresponding drive.

Input device 260 may include one or more conventional mechanisms thatpermit a user to input information to server 120/130, such as akeyboard, a mouse, a pen, voice recognition and/or biometric mechanisms,etc. Output device 270 may include one or more conventional mechanismsthat output information to the user, such as a display, a printer, aspeaker, etc. Communication interface 280 may include anytransceiver-like mechanism that enables server 120/130 to communicatewith other devices and/or systems. For example, communication interface280 may include mechanisms for communicating with another device orsystem via a network, such as network 140.

Server 120, consistent with the principles of the invention, may storedata associated with individual web pages within particular web sitesand generate web site mapping information associated with web sites.Server 130, consistent with the principles of the invention, may performsearches based on inputs from clients 110 and access information storedin server 120. Server 120/130 may perform these operations in responseto processor 220 executing software instructions contained in acomputer-readable medium, such as memory 230. A computer-readable mediummay be defined as one or more memory devices and/or carrier waves.

The software instructions may be read into memory 230 from anothercomputer-readable medium, such as data storage device 250, or fromanother device via communication interface 280. The softwareinstructions contained in memory 230 causes processor 220 to performprocesses that will be described later. Alternatively, hardwiredcircuitry may be used in place of or in combination with softwareinstructions to implement processes consistent with the principles ofthe invention. Thus, implementations consistent with the principles ofthe invention are not limited to any specific combination of hardwarecircuitry and software.

In addition, server 120 and server 130 are illustrated in FIG. 1 asbeing single devices. It should be understood, however, that server 120and server 130 may each be implemented as a network of computerprocessors and/or servers.

FIG. 3 is an exemplary functional block diagram of log processing system125, according to an implementation consistent with principles of theinvention. Log processing system 125 may include a front end (FE) 310,log data storage 320, a processing component 330 and web site mappingstorage 340. The logical blocks illustrated in FIG. 3 may be implementedin software, hardware, or a combination of hardware and software. Inaddition, each of the functional blocks may represent one or morecomputer processors, threads, and/or objects. It should also beunderstood that in alternative implementations, the functions performedby one of the logical blocks in FIG. 3 may be performed by anotherlogical block. Further, in alternative implementations, a single logicalblock/processing device may perform the functions of log processingsystem 125.

FE 310 acts as the front end of log processing system 125 and receivesinformation associated with clients' 110 access of various webpages/sites, such as click information. For example, FE 310 may receivehypertext transfer protocol (HTTP) requests when a client 110 accesses aweb page. FE 310 may forward this information to log data storage 320.

Log data storage 320 may store data associated with clients' 110 accessof various web pages and/or sites. For example, log data storage 320 mayinclude information representing web pages that have been accessed byclients 110, such as hyperlinks associated with the web pages. Log datastorage 320 may also store information indicating a total number oftimes each of the web pages corresponding to the hyperlinks have beenaccessed by clients 110 and/or an amount of time (e.g., average) clients110 have stayed on each of the web pages. Log data storage 320 mayfurther include information representing the number of links (e.g., fromvarious other web pages) that point to each particular web pageidentified in log data storage 320. Alternatively, or in addition to theinformation described above, log data storage 320 may includeinformation indicating whether a typical client 110 scrolled through theweb pages identified in log data storage 320 or linked out of the webpages without scrolling. In still further alternatives, or in additionto the information described above, log data storage 320 may storeinformation retrieval scores associated with each web page identified inlog data storage 320, where the information retrieval score indicateshow closely a particular search query matches information on the webpage. In still other alternatives or in addition to the informationdescribed above, log data storage 320 may store information identifyingthe likelihood that a typical client 110 will make a purchase associatedwith an item displayed on a web page. The likelihood that a purchasewill be made may be provided by an entity (e.g., a company) associatedwith the particular web page or may be provided from user logs. In eachcase, the information stored in log data storage 320 may be used todetermine a quality measure associated with a number of web pages in aparticular web site, as described in more detail below.

Processing component 330 may analyze the information in log data storage320 and generate web site mapping data/tables. For example, processingcomponent 330 may use the information in log data storage 320 to rankparticular web pages within a single web site based on a quality factor.The quality factor may be based on any of a number of metrics describedabove, or a combination of the metrics described above. For example, inone implementation, processing component 330 may rank web pages based ona number of times each web page has been accessed, as recorded in logdata storage 320. In another implementation, processing component 330may rank web pages based on the number of links in other web pages thatpoint to the respective web pages stored in log data storage 320. Ineach case, processing component 330 may store the ranked or orderedlists in web site mapping storage 340.

Web site mapping storage 340, as described above, may include a list ofweb sites and ranking of web pages within the respective web sites. Forexample, FIG. 4 illustrates an exemplary portion of web site mappingstorage 340. Referring to FIG. 4, web site mapping storage 340 mayinclude an entry 400 and a number of sub-entries 400-1 through 400-5associated with entry 400. In the example illustrated in FIG. 4, entry400 stores “HP.com” representing a web site associated with HewlettPackard. Sub entries 400-1 through 400-5 store Support & Drivers,Printing & Multifunctions, Notebooks & Tablet PCs, Home & Home Officeand Partners & Developers, respectively. Sub-entries 400-1 through 400-5may be stored in an order representing the determined quality associatedwith the corresponding web pages in the web site www.hp.com. Forexample, entry 500-1 (i.e., Support & Drivers) may represent a mostpopular web page on the web site www.hp.com (as indicated by, forexample, information stored in log data storage 320), followed byPrinting & Multifunctions in entry 400-2, through entry 400-5 (i.e.,Partners & Developers), which may represent the fifth most popular webpage on the web site identified in field 400. Web site mapping storage340 may store similar information for a number of other web sites. Inthis example, entries 400-1 through 400-5 may be based on the number oftimes log data storage 320 received information indicating that clients110 have accessed these web pages. As discussed above, however, theranking/ordering of web pages within a particular web site may be basedon any number of other factors or combination of factors. In each case,the web site mapping information associated with web pages within aparticular web site may represent a quality measure associated with theweb pages. The quality measure may represent a popularity associatedwith a web page, a likelihood that the information on a web page will beaccessed by a user, a likelihood that the information will be useful toa user submitting a search query or may represent other factorsassociated with the quality of a web page.

Search engine system 135 (FIG. 1) may use the information in web sitemapping storage 340 to provide search results with links to one or moreweb pages associated with a particular search result. Referring to FIG.5, in an exemplary implementation, search engine system 135 may includea search component 510 and a mapping component 520. Search component 510may receive a search query from a client 110. Search component 510 maythen generate initial search results that identify relevant documentsbased on the search query.

Mapping component 520 may receive the initial search results from searchcomponent 510 and access web site mapping storage 340 to determinewhether any of the search results have associated mapping informationstored in web site mapping storage 340. For those search results thathave mapping information stored in web site mapping storage 340, mappingcomponent 520 may include all or some of the mapping informationassociated with the initial search results. Search engine system 135 maythen forward the search results and mapping information to the client110 that submitted the original search query, as described in moredetail below.

Exemplary Processing

FIG. 6 is a flow diagram illustrating exemplary processing forgenerating web site mapping information consistent with the principlesof the invention. The following description focuses on one or moreservers that receive information associated with clients' 110 access ofweb pages and provide information to clients 110. It will be appreciatedthat the techniques described herein are equally applicable to anyserver(s) that provides information to a user based on a qualitymeasure, such as a popularity measure or a likelihood of use measureassociated with web pages or other information, and indeed to any systemin which the quality of information provided to a user is important. Forexample, the techniques described herein are applicable to providinginformation to a user based on a search query associated with searchingbooks, periodicals, image data or other information stored in one ormore databases or repositories.

Processing may begin by log processing system 125 receiving data vianetwork 140 (act 610). For example, front end 310 may receive data whenclients 110 access various web sites. In one implementation, assume thatusers have downloaded/installed a toolbar on their respective clients110 that facilitates web searches on a search engine, such as searchengine system 135. In this case, the toolbar may include software codethat instructs a client 110 to send hypertext transfer protocol (HTTP)requests to server 120 for each web page that client 110 accesses. FE310 may use the information in the HTTP request to identify theparticular web page and web site associated with the web page thatclient 110 has accessed. Alternatively, FE 310 may receive similar datawhen clients 110 click on links provided by search engine system 135. Inaddition, the information received from clients 110 may enable FE 310 toidentify other information associated with web site accesses, such as anamount of time a client 110 accesses a particular web page, whetherclient 110 scrolled through the particular web page, whether a purchasewas made via the particular web page, etc.

FE 310 may store the web page information, such as a hyperlink or auniform resource locator (URL) associated with the accessed web pages,in an indexed format in log data storage 320 (act 620). For example,suppose that the user visits a web site for Apple Computer and clicks ona number of links accessible via the Apple Computer home page, such as aweb page associated with PCs, a web page associated with the Appleonline store, etc. For each web page that is accessed, FE 310 mayreceive an HTTP request, identify a hyperlink associated with therequest and store the hyperlink of the web page. FE 310 may store thehyperlink under an entry for the home page associated with the hyperlink(i.e., Apple.com in this example). FE 310 may also store text associatedwith the hyperlink, such as the name of the web page provided with theHTTP request. Alternatively, FE 310 may store anchor text with thehyperlink, such as text displayed on a hyperlink used to access the webpage from another page on the website (e.g., the home page). In stillanother alternative, FE 310 may store text that is located on the webpage itself with the corresponding hyperlink (e.g., information locatedat the top of the web page that may represent a title of the web page).

In an exemplary implementation, each time a particular one of the webpages stored in log data storage 320 is accessed by any of clients 110,FE 310 may increment an index value associated with the particular webpage (act 630). This index value may represent the number of times aparticular web page has been accessed and may function as a qualitymeasure associated with the particular web page. That is, a web pagethat has been accessed more often is more likely to contain usefulinformation to a user. It should be understood that processing component330 may generate the sorted list based on a number of other factors orcombination of factors, as described above.

Processing component 330 may then generate a sorted or ranked list basedon the particular quality factor (act 640). In the example discussedabove, the quality factor may be based on the number of times each webpage within a particular web site has been visited by clients 110, asrecorded by log data storage 320. This metric may help identify webpages that are most likely to contain valuable information to the usersof clients 110.

Processing component 330 may then store the sorted/ranked list in website mapping storage 340 (act 650). Processing component 330 maygenerate similar sorted lists for each of the other web sites stored inlog data storage 320 and store these ranked lists in web site mappingstorage 340 (act 650). Search engine system 135 may then use the website mapping information when providing search results to clients 110.

FIG. 7 illustrates exemplary processing associated with providing searchresults, consistent with the principles of the invention. The processingdescribed below uses the example of providing search results via anetwork, such as network 140. The techniques described herein, however,may be used in any search system including a local search system.Processing may begin with a client 110 accessing server 130 via network140 and receiving a user interface (UI) for entering a search query.Alternatively, as discussed above, client 110 may have a toolbarassociated with search engine system 135 loaded on client device 110that facilitates entry of search queries.

Assume that the user enters a search query via client 110 and transmitsthe search query to server 130 via network 140. Search engine system 135may receive the search query (act 710). In an exemplary implementation,search component 510 receives the search query, executes the search andgenerates a list of initial search results (act 720). These initialsearch results may include advertisements based on the search query.

After search component 510 has generated the initial search results,including advertiser related information, the initial results areforwarded to mapping component 520. Mapping component 520 may thenaccess web site mapping storage 340 to determine whether any of thesearch results are associated with web page information stored in website mapping storage 340 (act 730). For example, assume that a queryfrom one of clients 110 is “hp.” In this case, further assume that website mapping storage 340 includes a list of web pages associated withHewlett Packard's web site, such as the sorted list illustrated in FIG.4. In this case, mapping component 520 identifies the sorted list (i.e.,entries 400-1 through 400-5) as being associated with the search resultfor Hewlett Packard. Mapping component 520 may perform a similar searchfor each of the initial search results and identify the web site mappinginformation for each search result that includes information stored inweb site mapping storage 340 (act 740). In situations in which a website's home page is not identified by the initial search result, a website identifier (e.g., entry 400 in FIG. 4) may be identified from theinitial search result and may be stored as an index to the other webpages located on the same web site.

In an exemplary implementation, mapping component 520 may only identifya predetermined number of links (e.g., five or less) from web sitemapping storage 340 for inclusion with each particular search result.This predetermined number may represent the highest quality links. Itshould be understood, however, that any number of links (e.g., more thanfive) stored in web site mapping storage 340 may be provided with aparticular search result. In addition, in some implementations, linksstored in web site mapping storage 340 may be provided with only apredetermined number (e.g., ten) of the search results.

For search results that may not be associated with a web site that has anumber of web pages, mapping component 520 may not identify anyinformation stored in web site mapping storage 340 for that particularsearch result. In this case, the search result generated by searchcomponent 510 will not include any additional web page information orhyperlinks. In addition, if none of the search results includesinformation in web site mapping storage 340, the initial search resultsgenerated by search component 510 will be provided to client 110.

After mapping component 520 has identified the appropriate web sitemapping information associated with the initial search results, searchengine system 135 may forward the search results with the identified website mapping information to client 110 (act 750). That is, the searchresults forwarded to client 110 will include the initial search resultsgenerated by search component 510 at act 720 and the additionalinformation identified by mapping component 520 at act 740.

For example, FIG. 8 illustrates an exemplary search results screen 800provided to client 110. Referring to FIG. 8, assume that the searchquery submitted by client 110 to search engine system 135 was “hp”, asindicated at box 810. In this case, search engine system 135 mayidentify a number of hits associated with the search query. Only threesearch results are illustrated in FIG. 8 for simplicity. Referring toFIG. 8, the first hit provided on screen 800 at area 820 is associatedwith www.hp.com (i.e., Hewlett Packard's home page) and includes ahyperlink to www.hp.com.

In addition, the search result associated with HP.com includes fiveadditional links provided at area 830. The first four of these fiveadditional links correspond to web pages/links that were identified bymapping component 520 at act 740. In an exemplary implementation, theselinks may correspond to the four most visited web pages withinwww.hp.com that were stored in web site mapping storage 340 (e.g.,Support & Drivers, Printing & Multifunction, Notebooks & Tablet PCs,Home & Home office). As described previously, these links may includeanchor text provided on the website www.hp.com for linking to these webpages (e.g., Support & Drivers, Printing & Multifunction, Notebooks &Tablet PCs, Home & Home office). Alternatively, the text provided inarea 830 may include the URL associated with the web page or textlocated on the web page itself. In each case, the text may make iteasier for the user to ascertain what information will be included inthe corresponding web page and may save time associated with accessingweb pages that are of no interest. The text and hyperlink allow the userto select the particular link without first going to a web pageassociated with the initial search result (e.g., a home page) andnavigating through a number of pages until the user finds the particularweb page of interest. In other words, the user at client 110 may bypassthe link at area 820 and immediately select the link at area 830 thathe/she believes provides the desired information. This may saveconsiderable time associated with finding items of interest, especiallyin situations where the first accessed web page is confusing anddifficult to navigate from to find a link to the desired web page ofinterest.

The fifth link at area 830 (i.e., “More results from www.hp.com” in thisexample) may be used to indicate that additional links associated withHewlett Packard's web site may be available. For example, as describedabove with respect to FIG. 4, a link for Partners & Developers (entry400-5) may be stored in web site mapping storage 340 for HewlettPackard's web site, which is not displayed in area 830. In an exemplaryimplementation, when the link “More results from www.hp.com” isselected, a search page associated with searching the website associatedwith the link in area 820 may be provided to client 110. The user maythen enter a new query and search engine system 135 will dynamicallygenerate new results based on the new query, where each of the resultsare links to web pages in the web site associated with the search resultat area 820. In alternative implementations, selecting the link “Moreresults from www.hp.com” may simply provide the additional links storedin web site mapping storage 340 (e.g., Partners & Developers) to client110. This additional number of links may also be set to a predeterminednumber.

In alternative implementations, search results screens provided toclient 110 at act 750 may provide an icon or link that displays the term“Site Map” or similar designation with the search results. For example,instead of providing the links at area 830, the search results screenmay provide an icon or link for “Site Map” at area 830. When the user atclient 110 selects this icon or link or hovers a mouse over this icon orlink, the additional links stored in web site mapping storage 340 may bedisplayed to the user via an overlay window or via a new interfacescreen that displays the additional links. Using an icon or link insteadof providing the additional links may save space on the search resultspage and allow more search results to be displayed. In still furtheralternatives, a toolbar button associated with a site mapping functionmay be provided on a toolbar associated with client 110. The toolbarbutton may be associated with a toolbar that facilitates entry of searchqueries to search engine system 135. The toolbar button, when selected,may similarly provide the list of additional links. Using such a toolbarbutton may save additional space on the search results page.

Conclusion

Implementations consistent with the principles of the invention mayinclude web site mapping information with search results. Thisadditional information may be based on any quality measure and may allowthe user to find the information of interest more quickly. In addition,the process for providing the web site mapping information to the usermay be performed in a manner that is transparent to the user.

The foregoing description of exemplary embodiments of the presentinvention provides illustration and description, but is not intended tobe exhaustive or to limit the invention to the precise form disclosed.Modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the invention. Forexample, while series of acts have been described with regard to FIGS. 6and 7, the order of the acts may be varied in other implementationsconsistent with the present invention. Moreover, non-dependent acts maybe implemented in parallel.

Also, implementations consistent with principles of the invention havebeen described with respect to gathering and storing informationassociated with clients' 110 access of web sites. In otherimplementations, instead of considering all web pages in a web site, theweb site mapping information stored in web site mapping storage 340 maybe limited to web pages that are linked to the web page associated withthe initial search result.

In still other implementations, web site providers may provide searchengine system 135 with a list of favored web pages within their own website. For example, a web site provider may instruct the search engineprovider (e.g., the provider associated with search engine system 135)to provide the list of links to the favored web pages when the searchengine generates a search result that identifies the web site provider'sweb site. This list of links may be based on the web site provider'sparticular preference and knowledge of their own site. For example, theweb site provider may want users to access web pages that will morelikely result in a purchase. Providing a list of links/web pages by aweb site provider may eliminate the need for some of the trackingperformed by log processing system 125.

In addition, in alternative implementations, log processing system 125may track actions performed by each particular client 110 with respectto that client's 110 history of accessing various web sites. In thiscase, the web site mapping storage 340 may rank the web pages within aweb site based on the particular client's 110 user history and the website mapping information may be different for each particular client110.

In still further implementations, the links provided with particularones of the search results (e.g., at area 830 in FIG. 8) may not beinitially provided with the search results. In such implementations, thelinks may be provided after a search result has been clicked. This maybe useful in situations where the destination site does not include asite map or the site map provided is confusing or difficult to navigate.In addition, in some implementations, a separate window couldautomatically be popped to the user after a search result has beenclicked. This window may include the list of additional links. In stillfurther implementations, the user at client 110 may be queried as towhether he/she would like to see a site map (i.e., the list of linksfrom web site mapping storage 340) before the additional links areprovided.

It will be apparent to one of ordinary skill in the art that aspects ofthe invention, as described above, may be implemented in many differentforms of software, firmware, and hardware in the implementationsillustrated in the figures. The actual software code or specializedcontrol hardware used to implement aspects consistent with theprinciples of the invention is not limiting of the invention. Thus, theoperation and behavior of the aspects were described without referenceto the specific software code—it being understood that one of ordinaryskill in the art would be able to design software and control hardwareto implement the aspects based on the description herein.

No element, act, or instruction used in the description of the presentapplication should be construed as critical or essential to theinvention unless explicitly described as such. Also, as used herein, thearticle “a” is intended to include one or more items. Where only oneitem is intended, the term “one” or similar language is used. Further,the phrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

What is claimed is:
 1. A method, comprising: receiving a search queryfrom a user; generating search results based on the search query;identifying a plurality of web pages associated with at least one of thesearch results based on a quality factor associated with the pluralityof web pages, wherein the plurality of web pages and a web pageassociated with the at least one search result comprise web pages in asame web site; and providing the search results and a plurality of linksassociated with the plurality of web pages to the user.